import threading
import time

exitFlag = 0

class myThread(threading.Thread):
    def __init__(self,threadId,name,counter):
        threading.Thread.__init__(self)
        self.threadId = threadId
        self.name = name
        self.counter = counter
    def run(self):
        print("start thread: "+ self.name)
        
        # aquire lock for sync
        threadLock.acquire()

        print_time(self.name,self.counter,5)
        print("exit thread : "+ self.name)

        # release lock and open next thread
        threadLock.release()

def print_time(threadName,delay,counter):
    while counter:
        # if exitFlag:
        #     threadName.exit()
        time.sleep(delay)
        print("%s:%s" % (threadName,time.ctime(time.time())))
        counter -= 1

threadLock = threading.Lock()
threads = []

#create a new thread
thread1 = myThread(1,"Thread-1",1)
thread2 = myThread(2,"Thread-2",2)

#start a new thread
thread1.start()
thread2.start()

# add to thread list
threads.append(thread1)
threads.append(thread2)

for t in threads:
    t.join()
# thread1.join()
# thread2.join()
print("exit thre main thread")